eeprom16 2.2.1
Loading...
Searching...
No Matches
eeprom16.h File Reference

This file contains API for EEPROM 16 Click Driver. More...

#include "drv_digital_out.h"
#include "drv_digital_in.h"
#include "drv_spi_master.h"
#include "spi_specifics.h"

Go to the source code of this file.

Data Structures

struct  eeprom16_t
 EEPROM 16 Click context object. More...
struct  eeprom16_cfg_t
 EEPROM 16 Click configuration object. More...

Macros

#define EEPROM16_OPCODE_WREN   0x06
 EEPROM 16 Opcode Commands list.
#define EEPROM16_OPCODE_WRDI   0x04
#define EEPROM16_OPCODE_RDSR   0x05
#define EEPROM16_OPCODE_WRSR   0x01
#define EEPROM16_OPCODE_READ   0x03
#define EEPROM16_OPCODE_WRITE   0x02
#define EEPROM16_STATUS_WPEN_MASK   0x80
 EEPROM 16 status register bits mask.
#define EEPROM16_STATUS_IPL_MASK   0x40
#define EEPROM16_STATUS_BLOCK_PROTECT_NONE   0x00
#define EEPROM16_STATUS_BLOCK_PROTECT_UPPER_QUARTER   0x04
#define EEPROM16_STATUS_BLOCK_PROTECT_UPPER_HALF   0x08
#define EEPROM16_STATUS_BLOCK_PROTECT_ALL   0x0C
#define EEPROM16_STATUS_BLOCK_PROTECT_MASK   0x0C
#define EEPROM16_STATUS_WEL_MASK   0x02
#define EEPROM16_STATUS_RDY_MASK   0x01
#define EEPROM16_MIN_ADDRESS   0x0000
 EEPROM 16 memory address range.
#define EEPROM16_MAX_ADDRESS   0x0FFF
#define EEPROM16_PAGE_SIZE   32
#define EEPROM16_PAGE_MASK   0x1F
#define EEPROM16_SET_DATA_SAMPLE_EDGE   SET_SPI_DATA_SAMPLE_EDGE
 Data sample selection.
#define EEPROM16_SET_DATA_SAMPLE_MIDDLE   SET_SPI_DATA_SAMPLE_MIDDLE
#define EEPROM16_MAP_MIKROBUS(cfg, mikrobus)
 MikroBUS pin mapping.

Enumerations

enum  eeprom16_return_value_t { EEPROM16_OK = 0 , EEPROM16_ERROR = -1 }
 EEPROM 16 Click return value data. More...

Functions

void eeprom16_cfg_setup (eeprom16_cfg_t *cfg)
 EEPROM 16 configuration object setup function.
err_t eeprom16_init (eeprom16_t *ctx, eeprom16_cfg_t *cfg)
 EEPROM 16 initialization function.
err_t eeprom16_default_cfg (eeprom16_t *ctx)
 EEPROM 16 default configuration function.
err_t eeprom16_write_opcode (eeprom16_t *ctx, uint8_t opcode)
 EEPROM 16 write opcode function.
err_t eeprom16_read_opcode (eeprom16_t *ctx, uint8_t opcode, uint8_t *data_out, uint8_t len)
 EEPROM 16 read opcode function.
void eeprom16_set_wp_pin (eeprom16_t *ctx, uint8_t state)
 EEPROM 16 set WP pin function.
void eeprom16_set_hold_pin (eeprom16_t *ctx, uint8_t state)
 EEPROM 16 set HOLD pin function.
err_t eeprom16_enable_write (eeprom16_t *ctx)
 EEPROM 16 enable write function.
err_t eeprom16_disable_write (eeprom16_t *ctx)
 EEPROM 16 disable write function.
err_t eeprom16_set_block_protection (eeprom16_t *ctx, uint8_t block_protect)
 EEPROM 16 set block protection function.
err_t eeprom16_write_status (eeprom16_t *ctx, uint8_t status)
 EEPROM 16 write status function.
err_t eeprom16_read_status (eeprom16_t *ctx, uint8_t *status)
 EEPROM 16 read status function.
err_t eeprom16_memory_write (eeprom16_t *ctx, uint16_t address, uint8_t *data_in, uint8_t len)
 EEPROM 16 memory write function.
err_t eeprom16_memory_read (eeprom16_t *ctx, uint16_t address, uint8_t *data_out, uint16_t len)
 EEPROM 16 memory read function.

Detailed Description

This file contains API for EEPROM 16 Click Driver.

Enumeration Type Documentation

◆ eeprom16_return_value_t

EEPROM 16 Click return value data.

Predefined enum values for driver return values.

Enumerator
EEPROM16_OK 
EEPROM16_ERROR